using System;

namespace FluentIoC
{
    public interface IContainer
    {
        string Name { get; }

        T Resolve<T>();
        T Resolve<T>(string name);
        T Resolve<T>(object parameters);
        T[] ResolveAll<T>();
        Array ResolveAll(Type type);

        object Resolve(Type type);
    }
}